package com.epalmpay.controller.ys.index;

import com.epalmpay.commom.BaseController;
import com.epalmpay.exception.ApplicationException;
import com.epalmpay.status.Rescode;
import com.epalmpay.dto.yunliu.index.agent.YsAgentIndexInDTO;
import com.epalmpay.dto.yunliu.index.agent.YsAgentIndexListOutDTO;
import com.epalmpay.dto.yunliu.index.agent.YsAgentIndexOutDTO;
import com.epalmpay.entity.*;
import com.epalmpay.service.ys.indexService.IYsIndexService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.List;

/**
 * Created by Administrator on 2017/9/8.
 */
@Resource
@RequestMapping(value = "/agent/ys")
public class YsAgentIndexController  extends BaseController{


    @Resource
    private IYsIndexService ysIndexService;

    @RequestMapping(value="/agentIndex")
    @ResponseBody
    public YsAgentIndexListOutDTO agentIndex(YsAgentIndexInDTO agentIndexInDTO){

        YsAgentIndexListOutDTO agentIndexListOutDTO= new YsAgentIndexListOutDTO();

        try {

            //今日新增会员数... 今日交易预估收益,今日预采购预估收益
            StatisAgentDay statisAgentDay = ysIndexService.queryAgentTodayAddMemberCount(agentIndexInDTO);
            agentIndexListOutDTO.setStatisAgentDay(statisAgentDay);
            //查询昨日新增会员数
            StatisAgentDay statisAgentDay1 = ysIndexService.queryYsAgentYestAddMemberCount(agentIndexInDTO);
            agentIndexListOutDTO.setStatisAgentDay1(statisAgentDay1);

            //本月新增门店数,本月新增代理商数.. 本月新增预采购计划笔数,本月OBD入库终端总数,本月出库OBD终端总数,本月OBD激活数
            StatisAgent statisAgent = ysIndexService.queryYsStatisAgentData(agentIndexInDTO);
            agentIndexListOutDTO.setStatisAgent(statisAgent);



            // 30天内门店交易排行（前5名）
            List<YsAgentIndexOutDTO> agentIndexOutDTOList = ysIndexService.queryAgentFiveData(agentIndexInDTO);
            agentIndexListOutDTO.setYsAgentIndexOutDTOList(agentIndexOutDTOList);

            //柱状图
//            List<YsAgentStatisAgentDaySevenData> statisAgentDaySevenDataOutDTOList= ysIndexService.queryAgentSevenDayData(agentIndexInDTO);
//            agentIndexListOutDTO.setYsAgentStatisAgentDaySevenData(statisAgentDaySevenDataOutDTOList);


//
//            //终端数量 总数
//            Device device = new Device();
//            int totalCount = indexService.queryDeviceCount(agentIndexInDTO);
//            int saleCount = indexService.queryDeviceSaleCount(agentIndexInDTO);//查询售后中终端
//            device.setTotalCount(totalCount);
//            device.setSaleCount(saleCount);
//            agentIndexListOutDTO.setDevice(device);
//
//
//
//            //预计今日产生分润总额
//            ProfitAgent profitAgent = indexService.queryProfitAmount(agentIndexInDTO);
//            agentIndexListOutDTO.setProfitAgent(profitAgent);
//            //今日目前交易额(线上 +线下交易表)
//            TradeOffline tradeOffline = indexService.queryTotalAmount(agentIndexInDTO);
//            agentIndexListOutDTO.setTradeOffline(tradeOffline);
//
//            //本月商品销量排行前5名
//            List<MallGoodOutDTO> mallGoodOutDTOList=indexService.queryGoodCount(agentIndexInDTO);
//            agentIndexListOutDTO.setMallGoodOutDTOList(mallGoodOutDTOList);
//



            agentIndexListOutDTO.setErrorCode(Rescode.SUCCESS, "处理成功");
            return agentIndexListOutDTO;
        } catch (ApplicationException ae) {
            agentIndexListOutDTO.setErrorCode(ae.errCode, ae.errMsg);
            ae.printStackTrace();
        }catch (Exception e) {
            agentIndexListOutDTO.setErrorCode(Rescode.DEFAULT_PREFIX, "处理出现异常");
            e.printStackTrace();
        }
        return agentIndexListOutDTO;

    }


}
